see
Single-byte
Character Set Support. On a Unix, when Emacs runs on a
text-only terminal display or is invoked with
‘emacs -nw’,
you typically need to use set-terminal-coding-system
to tell Emacs what the terminal can display, even after setting
the language environment; otherwise non-ASCII
characters will display as ‘?’. On other operating systems, such
as MS-DOS and MS-Windows, Emacs queries the OS about the
character set supported by the display, and sets up the required
terminal coding system automatically.